using MediatR;
using S.O.Domain.Dto.Output;
using S.O.ErrorCode;

namespace S.O.Api.Read.Application.Command.Medical
{
    /// <summary>
    /// 根据医生获取挂号记录列表命令
    /// 供医生端使用，查看当前挂号的患者信息
    /// </summary>
    public class GetRegistrationByDoctorCommand : IRequest<APIPaging<GetRegistrationListDto>>
    {
        /// <summary>
        /// 页码
        /// </summary>
        public int PageIndex { get; set; } = 1;
        
        /// <summary>
        /// 页大小
        /// </summary>
        public int PageSize { get; set; } = 10;
        
        /// <summary>
        /// 医生姓名
        /// </summary>
        public string Doctor { get; set; } = string.Empty;
        
        /// <summary>
        /// 就诊日期（可选，默认查询当天）
        /// </summary>
        public DateTime? VisitDate { get; set; }
        
        /// <summary>
        /// 挂号状态（可选，如：待诊、就诊中、已完成）
        /// </summary>
        public string? Status { get; set; }
        
        /// <summary>
        /// 科室（可选）
        /// </summary>
        public string? Department { get; set; }
    }
}